// 引入Vue
import Vue from 'vue'

// 引入Vuex
import Vuex from "vuex"

// 使用Vuex插件
Vue.use(Vuex)

// 创建一个state对象
const state = {
  count: 1,
  price: 999
}

// 创建一个mutations对象
const mutations = {
  increment(state) {
    state.count++
  },
  decrement(state) {
    state.count--
  },
  incrementN(state, { n }) {
    state.count += n
  },
  // mutations里的函数必须是同步的,异步的我们将无法在工具中追踪数据的变化
  waitIncrement(state) {
    setTimeout(() => {
      state.count++
    }, 1000)
  }
}

// 创建一个store并暴露出去
export default new Vuex.Store({
  state,
  mutations
})